home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
PC
/
MISCBAS
/
CRAZY8.ASC
< prev
next >
Wrap
Text File
|
1987-01-11
|
7KB
|
267 lines
100 REM SOURCE UNKNOWN: REVISED BY D. KURLAND 11/16/75
110 PRINT "THIS IS THE GAME OF CRAZY EIGHTS"
120 DIM A(52),D(52),G(52),H(52)
130 DIM T(52),S(52),V(52)
140 DIM Z(52),U$(4),C$(13)
150 READ U$(1),U$(2),U$(3),U$(4)
160 FOR I=1 TO 13
170 READ C$(I)
180 NEXT I
190 FOR I=1 TO 52
200 READ Z(I)
210 NEXT I
220 DATA CLUBS,DIAMONDS,HEARTS,SPADES
230 DATA "2","3","4","5","6","7","8","9","10",JACK,QUEEN,KING,ACE
240 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1
250 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1
260 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1
270 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1
280 PRINT "DO YOU KNOW HOW TO PLAY";
290 INPUT A$
300 IF A$="YES" OR A$="Y" THEN 400
310 PRINT "WHEN ASKED WHICH CARD YOU WISH TO PLAY, YOUR ANSWER SHOULD"
320 PRINT "OF THE FORM: CARD,SUIT . ANY EIGHT MAY BE"
330 PRINT "PLAYED AT ANY TIME REGARDLESS OF SUIT TO CHANGE THE SUIT."
340 PRINT "IF YOU ARE UNABLE OR UNWILLING TO PLAY, YOU WILL BE GIVEN"
350 PRINT "ANOTHER CARD FROM THE DRAW STACK. IF ALL CARDS HAVE BEEN"
360 PRINT "DRAWN, ANY PERSON WHO IS ABLE TO PLAY MUST DO SO."
370 PRINT "AT THE END OF THE GAME, THE PERSON HOLDING CARDS HAS POINTS"
380 PRINT "SCORED AGAINST HIM AS FOLLOWS: EIGHTS=50, ACE=1, FACE"
390 PRINT "CARD=10, INDEX VALUE FOR EACH OTHER CARD."
400 PRINT : PRINT "GAME WILL START SHORTLY..."
410 L=0 : FOR I=1 TO 4
420 FOR J=1 TO 13
430 L=L+1
440 S(L)=I
450 V(L)=J
460 NEXT J
470 NEXT I
480 N1=0
490 N2=0
500 N3=0
510 S1=0
520 S2=0
530 FOR I=1 TO 52
540 G(I)=0
550 H(I)=0
560 A(I)=RND(1)
570 NEXT I
580 W1=0
590 B1=0
600 P1=1
610 P2=1
620 J=0
630 M1=99999!
640 FOR I=1 TO 52
650 IF A(I)>=M1 THEN 680
660 M1=A(I)
670 I1=I
680 NEXT I
690 J=J+1
700 D(J)=I1
710 A(I1)=99999!
720 IF J<52 THEN 630
730 FOR I=1 TO 7
740 G(D(52-2*I+2))=1
750 H(D(52-2*I+1))=1
760 NEXT I
770 T(1)=D(38)
780 T1=1
790 P=S(T(1))
800 H1=7
810 H2=7
820 D1=37
830 GOSUB 1390
840 GOSUB 1510
850 IF W1=1 THEN 910
860 IF B1=1 THEN 910
870 GOSUB 2020
880 IF W1=1 THEN 910
890 IF B1=1 THEN 910
900 GOTO 830
910 GOSUB 1140
920 PRINT "YOUR SCORE IS";C1
930 PRINT "MY SCORE IS";C2
940 IF C2>=C1 THEN 980
950 PRINT "YOU WON THAT HAND."
960 N1=N1+1
970 GOTO 1000
980 PRINT "I WON THAT HAND."
990 N2=N2+1
1000 PRINT
1010 N3=N3+1
1020 PRINT "DO YOU WISH TO PLAY AGAIN";
1030 INPUT A$
1040 IF A$="YES" OR A$="Y" THEN 530
1050 PRINT
1060 PRINT "OUT OF";N3;"HANDS YOU WON";N1
1070 PRINT "YOUR TOTAL SCORE IS";S1;": MINE IS";S2;"."
1080 IF S1<=S2 THEN1110
1090 PRINT "LOOKS LIKE YOU'RE HIGH SCORER."
1100 GOTO 1120
1110 PRINT "LOOKS LIKE I AM THE HIGH SCORER."
1120 PRINT "BYE."
1130 STOP
1140 C1=0
1150 C2=0
1160 IF H2=0 THEN 1240
1170 PRINT
1180 PRINT "CARDS LEFT IN MY HAND"
1190 FOR I=1 TO 52
1200 IF H(I)=0 THEN 1230
1210 PRINT C$(V(I));TAB(6);"OF ";U$(S(I))
1220 C1=C1+Z(I)
1230 NEXT I
1240 IF H1=0 THEN 1360
1250 FOR I=1 TO 52
1260 IF G(I)=0 THEN 1280
1270 C2=C2+Z(I)
1280 NEXT I
1290 IF C1=0 THEN 1360
1300 IF C1>=C2 THEN 1340
1310 C2=C2-C1
1320 C1=0
1330 GOTO 1360
1340 C1=C1-C2
1350 C2=0
1360 S1=S1+C1
1370 S2=S2+C2
1380 RETURN
1390 PRINT
1400 PRINT "YOUR HAND IS"
1410 FOR I=1 TO 52
1420 IF G(I)=0 THEN 1440
1430 PRINT C$(V(I));TAB(6);"OF ";U$(S(I))
1440 NEXT I
1450 PRINT
1460 PRINT "THE LAST CARD PLAYED WAS THE ";
1470 PRINT C$(V(T(T1)));" OF ";U$(S(T(T1)))
1480 IF V(T(T1))<>7 THEN 1500
1490 PRINT "THE SUIT CALLED FOR IS ";U$(P)
1500 RETURN
1510 PRINT "DO YOU WISH TO PLAY A CARD";
1520 INPUT A$
1530 AZ$=LEFT$(A$,1)
1531 IF AZ$<>"Y" AND AZ$<>"N" THEN PRINT "(Y OR N) PLEASE ! "; : GOTO 1520
1540 IF D1<>0 THEN 1570
1550 PRINT "ALL THE CARDS HAVE BEEN DEALT---YOU ARE BLOCKED"
1560 GOTO 1980
1570 I=D(D1)
1580 D1=D1-1
1590 H1=H1+1
1600 G(I)=1
1610 PRINT "YOUR NEW CARD IS THE ";C$(V(I));" OF ";U$(S(I))
1620 GOTO 1510
1630 PRINT "WHICH OF YOUR CARDS DO YOU WISH TO PLAY";
1640 INPUT X$,Y$
1650 GOSUB 2610
1660 IF V9>0 THEN 1680 ELSE PRINT "UNKNOWN CARD, TRY AGAIN";
1670 GOTO 1640
1680 GOSUB 2500
1690 IF S9>0 THEN 1710 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN";
1700 GOTO 1640
1710 IF V9=7 THEN 1760
1720 IF S9=P THEN 1760
1730 IF V9=V(T(T1)) THEN 1760
1740 PRINT "THAT IS NOT A LEGAL PLAY."
1750 GOTO 1510
1760 FOR I=1 TO 52
1770 IF G(I)=0 THEN 1800
1780 IF V(I)<>V9 THEN 1800
1790 IF S(I)=S9 THEN 1830
1800 NEXT I
1810 PRINT "YOU DO NOT HAVE THAT CARD."
1820 GOTO 1510
1830 G(I)=0
1840 H1=H1-1
1850 T1=T1+1
1860 T(T1)=I
1870 IF V9<>7 THEN 1930
1880 PRINT "WHAT SUIT DO YOU WISH";
1890 INPUT Y$
1900 GOSUB 2500
1910 IF S9>0 THEN 1930 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN";
1920 GOTO 1890
1930 P=S9
1940 P1=1
1950 IF H1<>0 THEN 1970
1960 W1=1
1970 RETURN
1980 IF P2<>0 THEN 2000
1990 B1=1
2000 P1=0
2010 RETURN
2020 I=53
2030 I=I-1
2040 IF H(I)=0 THEN 2080
2050 IF V(I)=7 THEN 2080
2060 IF S(I)=P THEN 2220
2070 IF V(I)=V(T(T1)) THEN 2220
2080 IF I>1 THEN 2030
2090 FOR I=1 TO 52
2100 IF V(I)<>7 THEN 2120
2110 IF H(I)<>0 THEN 2220
2120 NEXT I
2130 IF D1=0 THEN 2460
2140 I=D(D1)
2150 D1=D1-1
2160 IF V(I)=7 THEN 2240
2170 IF S(I)=P THEN 2240
2180 IF V(I)=V(T(T1)) THEN 2240
2190 H2=H2+1
2200 H(I)=1
2210 GOTO 2130
2220 H(I)=0
2230 H2=H2-1
2240 T1=T1+1
2250 T(T1)=I
2260 P=S(I)
2270 IF V(I)<>7 THEN 2420
2280 FOR J=1 TO 4
2290 Y(J)=0
2300 K1=13*(J-1)+1
2310 K2=13*J
2320 FOR K=K1 TO K2
2330 IF H(I)=0 THEN 2350
2340 Y(J)=Y(J)+1
2350 NEXT K
2360 NEXT J
2370 P=1
2380 FOR J=2 TO 4
2390 IF Y(J)<=Y(P) THEN 2410
2400 P=J
2410 NEXT J
2420 P2=1
2430 IF H2<>0 THEN 2450
2440 W1=1
2450 RETURN
2460 IF P1<>0 THEN 2480
2470 B1=1
2480 P2=0
2490 RETURN
2500 FOR I0 = 1 TO 4
2510 IF Y$=U$(I0) THEN 2590
2520 NEXT I0
2530 S9 = 0
2540 IF Y$="C" THEN S9=1
2550 IF Y$="D" THEN S9=2
2560 IF Y$="H" THEN S9=3
2570 IF Y$="S" THEN S9=4
2580 RETURN
2590 S9 = I0
2600 RETURN
2610 FOR I0 = 1 TO 13
2620 IF X$=C$(I0) THEN 2700
2630 NEXT I0
2640 V9 = 0
2650 IF X$="J" THEN V9=10
2660 IF X$="Q" THEN V9=11
2670 IF X$="K" THEN V9=12
2680 IF X$="A" THEN V9=13
2690 RETURN
2700 V9 = I0
2710 RETURN
2720 END
THEN V9=11
2670 IF X$="K" THEN V9=12
2680 IF X$="A"